The present disclosure relates generally to an angle measuring device and specifically to a device known as an angular encoder (or rotary encoder).
The angular encoder may be constructed in different ways. One type of angular encoder comprises a glass disk, one or more read heads, and processing electronics. The one or more read heads send light to the disk. This light is either transmitted through or reflected off the disk to optical detectors, which are also a part of the read heads. The glass disk contains a pattern, which may be as simple as a collection of lines directed radially outward from the disk center. As the disk rotates, the pattern of light changes on the read head. This changing light pattern is evaluated by the processing electronics to find the angle of rotation of the glass disk relative to the read heads. In most cases, the glass disk is attached to the rotating member, which might be an axle, and the read heads are attached to the frame within which the axle rotates.
A second type of angular encoder places the pattern on a ring rather than a disk. The one or more read heads send light to the ring, where it strikes the pattern reflecting back to the detectors in the read head. The changing pattern of light on the detector is evaluated by the processing electronics to find the angle of rotation of the ring relative to the read heads. In most cases, the ring is attached to the rotating member, which might be an axle, and the read heads are attached to the frame within which the axle rotates.
The disk and rings described above may be generally classified as patterned elements in that each holds a pattern, which may be a pattern of marks, for example, that are read by read heads, as described below. The patterned elements are designed to cooperate with read heads, described below, and the cooperation may involve optical, magnetic, mechanical, or other types of interaction between the patterned element and the read heads.
The read head is a device that reads a signal reflected by or transmitted through an encoder disk, ring, or similar structure. The most common types of read heads generate and respond to optical signals. A read head is constructed in such a way as to be able to distinguish between two directions of rotation of the disk or ring (for example, forward and backward). The most common method of providing the sense of direction is to obtain quadrature electrical signals, which are signals separated in phase by ninety degrees, from the obtained signal. Quadrature signals are also useful because they improve the accuracy of the encoder readings. There may be several read heads for each encoder disk or ring, and each of these read heads may produce quadrature electrical signals.
An angular encoder may be absolute or incremental. An absolute encoder provides the information to determine the present angle in an absolute sense—that is, without having a history of previous angle measurements. An incremental encoder, on the other hand, requires knowledge of previous encoder readings to determine the present reading. Ordinarily an incremental encoder contains a structure on the disk or ring that produces an optical signal that is transformed by the read head into an index pulse. The index pulse serves to provide a reference position, ordinarily accurate to within one line on the encoder disk or ring. At the start of a measurement session, an instrument containing an incremental encoder may begin by carrying out a procedure to determine the location of the index pulse. Generally the read head determines the position of the index pulse to a fraction of the spacing between two lines on the encoder disk or ring. Thereafter, a read head may count the number of lines that have passed it in either the forward and backward directions. From knowledge of the angle between encoder disk lines, it determines the present angle.
The accuracy with which angular encoders can measure varies widely. For inexpensive encoders, the angles may be measured in fractions of a degree. In contrast, other encoders are accurate to a fraction of an arc second. Highly accurate encoders are important to the class of devices that includes laser trackers, total stations, laser scanners, and theodolites. Accuracies required for such devices are often on the order of one microradian, or 0.2 arc seconds.
In most cases, the largest errors associated with angular encoders repeat for every 360 degree rotation of the encoder disk or ring. Additional errors, ordinarily smaller, may be associated with rotation of the bearings upon which the encoder disk or ring rotates. Such bearing errors typically repeat every 720 degrees, as is known in the art.
In this document, the dominant errors affecting the angular encoders are assumed to have a period of 360 degrees, although the method described herein can be easily extended without a reformulation of the mathematics to apply to the encoder-bearing system having a periodicity of 720 degrees or any multiple of 360 degrees. For the remainder of this document, it will be assumed that the errors have a period of 360 degrees so that they may be decomposed into spectral (Fourier) components having periods equal to 360°/n, where n=1, 2, 3, . . . In the case of an angular encoder using a glass disk and a single read head, the largest error is usually the first order (n=1) error that occurs once every 360 degrees. The main cause of this error is miscentering of the laser disk. An effective way to remove this first-order error is to use two read heads spaced 180 degrees apart rather than a single read head. By averaging the readings of the two read heads, the first-order angular error is eliminated. In fact, averaging the readings of two read heads eliminates errors of order 1, 3, 5, . . . (all orders except for those that are multiples of two).
For the case of an encoder that contains a glass disk, second order errors may be caused by tilt of the encoder disk relative to the read heads or by ellipticity (non-circularity) of the pattern of marks on the disk. These errors can be removed by using three or more symmetrically placed read heads. The readings from each of the read heads are averaged to find the encoder angle. In general, some number m of read heads can remove all Fourier error modes except for m and its harmonics. So two read heads cannot remove errors of orders n=2, 4, 6, . . . . Three read heads cannot remove errors of orders n=3, 6, 9, . . . .
To get the highest accuracy from reasonably priced encoders, some manufacturers who incorporate encoders in their products carry out a procedure called compensation (sometimes referred to as “calibration”) in which parameters or maps are found that enable correction of errors in software or firmware. The most common type of compensation involves placing a highly accurate reference encoder on one end of the axle. Readings are taken at the same time for the reference encoder and the encoder under test. The difference in the recorded values of these two encoders is used to create a map or a function to correct encoder errors.
However, mapping has limitations. First, there are inevitably errors in coupling two encoder systems together and even a very accurate reference encoder will lose accuracy when temporarily coupled to an external axle. Second, as explained above, static mapping parameters cannot correct for changes caused by temperature shifts or mechanical shocks. Third, because mapping is not model based, there is no mechanism for removing any errors that arise in the mapping process itself. In addition, mapping is a time-consuming procedure that adds cost to the manufacturer's product and reduces profit.
Another potential problem faced by encoder users is degradation in encoder performance, either as a result of changing environmental conditions or as a result of damage to the encoder assembly itself. It would be highly advantageous to be able to (1) detect degradation in encoder performance and (2) correct degradation in encoder performance without returning the instrument to the factory for re-compensation.
A method for self compensation of angular encoders is described in U.S. Pat. No. 7,825,367 ('367) to Nakamura et al. The method involves using a linear array, such as a CCD sensor, to read the lines on an encoder disk at two locations. The disk is rotated through a number of angular steps over 360 degrees. By analyzing the difference in the readings at the two encoder positions, errors in the encoder assembly may be determined. However, a serious deficiency with this method is encountered in devices that must work in industrial environments that may have wide temperature swings. Large temperature variations (for example, from −15 to +50 degrees Celsius) may cause large errors in an angular encoder containing a single read head or, as in the '367 patent, a single linear array. Such variations occur, for example, as a result of the differential thermal expansion of materials such as epoxy applied non-uniformly in bonding the encoder disk to the mechanical shaft on which it rotates. Such large errors may be automatically removed by placing two read heads 180 degrees apart and then averaging the readings of the read heads. The method of patent '367 is unable to provide the very important automatic correction of encoder errors with changes in temperature. Further discussion of the effect of temperature is given hereinafter with respect to FIGS. 16, 17.
There is a need for an encoder apparatus and a compensation procedure that (1) enables higher accuracy than previously possible, (2) provides this high accuracy without mapping with an external reference encoder, (3) detects degradation in encoder performance during field use, (4) improves encoder performance in the field by carrying out a self-compensation procedure, and (5) provides automatic correction of low order encoder errors over temperature. In addition, in some cases, it may also be desirable to make use of data obtained from mapping to an external reference encoder if this mapping data is processed in a special way to improve encoder accuracy even further.